﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text.RegularExpressions;
using System.Windows.Forms;
using System.Data;

namespace Korhaz
{
    public partial class Beteg : Form
    {
        Betegek b;
        private bool Err;
        private string ErrMsg;
        string msg = "Kötelezően kitöltendő mező!";
        string msg1 = "Helytelen telefonszám!";
        string msg2 = "Helytelen személyiszám!";

        public Beteg()
        {
            InitializeComponent();
            Err = false;
            b = new Betegek(ref Err);
            if (Err)
            {
                MessageBox.Show("Az objektumot nem lehet letrehozni");
            };
        }

        private void pictureBox1_Click(object sender, EventArgs e)
        {
            Elojegyzes el = new Elojegyzes();
            el.Show();
        }
        private void Betoltes()
        {
            string ErrMsg = "";
            SqlDataReader reader = b.BetegLista(ref ErrMsg);
                listView1.Items.Clear();
                if (ErrMsg == "OK")
                {
                    while (reader.Read())
                    {
                        ListViewItem item = new ListViewItem(reader[0].ToString());
                        item.SubItems.Add(reader[1].ToString());
                        item.SubItems.Add(reader[2].ToString());
                        item.SubItems.Add(reader[3].ToString());
                        item.SubItems.Add(reader[4].ToString());
                        listView1.Items.Add(item);
                    }
                    reader.Close();
                }
                else
                {
                    {
                        this.Close();
                    }
                }   
        }

        private void Beteg_Load(object sender, EventArgs e)
        {
            if (ErrMsg == "OK")
            {
                MessageBox.Show("Error");
            }
            else
            {
                b = new Betegek(ref Err);
                this.Betoltes();
               // txtFilter.Text = "A";
                //ujkliens.Checked = false;
                //ujkliens.Enabled = false;
                txtID.Enabled = false;
                txtSzemSzam.Enabled = false;
                txtNev.Enabled = false;
                txtCim.Enabled = false;
                txtTel.Enabled = false;
           }
        }

        private void pictureBox2_Click(object sender, EventArgs e)
        {
            //Application.Exit();
            Kezdolap k = new Kezdolap();
            k.Show();
            this.Hide();
        }

        private void butUj_Click(object sender, EventArgs e)
        {
            checkBox1.Checked = true;
            int imaxkod = b.MaxKod(ref ErrMsg);
            txtID.Text = Convert.ToString(imaxkod + 1);
            txtID.Enabled = false;
            txtNev.Enabled = true;
            txtCim.Enabled = true;
            txtSzemSzam.Enabled = true;
            txtTel.Enabled = true;
        }
        
        private void butMent_Click(object sender, EventArgs e)
        {
           // char[] SzemSzam = txtSzemSzam.Text.ToCharArray();
           // char[] lista = txtTel.Text.ToCharArray();
           //// char[] lista1 = txtSzemSzam.Text.ToCharArray();
           // txtTel_Validated(this, e);
            Match m = Regex.Match(txtTel.Text, @"[0-9]\0\d{10}$");
             if (txtNev.Text == String.Empty)
                {
                    error.SetError(txtNev, msg);
                }
                else if (txtCim.Text == String.Empty)
                {
                    error.SetError(txtCim, msg);
                }
             else if (!m.Success)
            {
                error.SetError(txtTel, msg1);
            }
           
                else if (checkBox1.Checked == true)
                {
                    b.InsertBeteg(txtID.Text, txtNev.Text, txtCim.Text, txtTel.Text, txtSzemSzam.Text);
                }
                else
                {
                    b.UpdateBeteg(txtID.Text, txtNev.Text, txtCim.Text, txtTel.Text, txtSzemSzam.Text);
                }
                this.Betoltes();
            
        }

        private void butMod_Click(object sender, EventArgs e)
        {
            txtTel.Enabled = true;
            txtID.Enabled = true;
            txtSzemSzam.Enabled = true;
            txtNev.Enabled = true;
            txtCim.Enabled = true;

            ListViewItem newItem = new ListViewItem();
            newItem = listView1.SelectedItems[0];
            txtID.Text = newItem.SubItems[0].Text;
            txtNev.Text = newItem.SubItems[1].Text;
            txtCim.Text = newItem.SubItems[2].Text;
            txtTel.Text = newItem.SubItems[3].Text;
            txtSzemSzam.Text = newItem.SubItems[4].Text;
        }

        private void pictureBox3_Click(object sender, EventArgs e)
        {
            Elojegyzes elo = new Elojegyzes();
            elo.Show();
            this.Hide();
        }

        private void butTorol_Click(object sender, EventArgs e)
        {
            if (listView1.SelectedItems.Count != 0)
            {
                DialogResult dlgResult = MessageBox.Show("Biztos törölni akarja?", "Delete", MessageBoxButtons.YesNoCancel);
                if (dlgResult == DialogResult.Yes)
                {
                    b.DeleteBeteg(listView1.SelectedItems[0].SubItems[0].Text);
                }
            }
            this.Betoltes();
        }

        private void butMegse_Click(object sender, EventArgs e)
        {
            txtCim.Clear();
            txtID.Clear();
            txtNev.Clear();
            txtSzemSzam.Clear();
            txtTel.Clear();
        }

      
        //private bool SzemSzamEllenorzes()
        //{
        //    char[] SzemSzam = txtSzemSzam.Text.ToCharArray();
        //    bool test = false;
        //    if (SzemSzam.Length == 13)
        //    {
        //        test = true;
        //    }
        //    return test;
        //}
        //private bool SzamEllenorzes()
        //{
        //    char[] lista = txtTel.Text.ToCharArray();
        //    bool test = false;
        //    for (int i = 0; i < lista.Length; i++)
        //    {
        //        if (!char.IsNumber(lista[i]))
        //        {
        //            test = true;
        //        }
        //    }
        //    return test;
        //}
        //private bool SzamEllenorzes1()
        //{
        //    char[] lista = txtSzemSzam.Text.ToCharArray();
        //    bool test = false;
        //    for (int i = 0; i < lista.Length; i++)
        //    {
        //        if (!char.IsNumber(lista[i]))
        //        {
        //            test = true;
        //        }
        //    }
        //    return test;
        //}
        private void txtSzemSzam_Validated(object sender, EventArgs e)
        {
            //bool test = SzemSzamEllenorzes();
            //if (test == true)
            //{
            //    this.errorSzemSzam.SetError(txtSzemSzam, "");
            //}
            //else
            //{
            //    this.errorSzemSzam.SetError(txtSzemSzam, "Helytelen szemelyiszam.");
            //}
           // Match m = Regex.Match(txtSzemSzam, @"\[12]\[0-9][0-9]\[$");
        }

        private void txtTel_Validated(object sender, EventArgs e)
        {
            Match m = Regex.Match(txtTel.Text, @"[0-9]\0\d{9}$");
            if (!m.Success)
                error.SetError(txtTel, msg1);
            else
                error.SetError(txtTel, "");
        }

        private void pictureBox3_Click_1(object sender, EventArgs e)
        {
            Elojegyzes elo = new Elojegyzes();
            elo.Show();
            this.Hide();
        }

       
       /* private void txtNev_Validated(object sender, EventArgs e)
        {
            if (txtNev.Text == String.Empty)
            {
                errorNev.SetError(txtNev, msg);
            }
        }

        private void txtCim_Validated(object sender, EventArgs e)
        {
            if (txtCim.Text == String.Empty)
            {
                errorCim.SetError(txtCim, msg);
            }
        }*/
        
    }
}
